package org.flexthinker.binding.bean
{
    /**
     * Enumeration representing the possible update strategies
     * of an <code>AutoBinding</code>.
     */
    public class UpdateStrategy
    {
        /**
         * An update strategy where the <code>AutoBinding</code> tries to sync the target
         * from the source only once, at bind time.
         */
        public static const READ_ONCE:UpdateStrategy = new UpdateStrategy("readOnce");

        /**
         * An update strategy where the <code>AutoBinding</code> tries to keep the target
         * in sync with the source.
         */
        public static const READ:UpdateStrategy = new UpdateStrategy("read");

        /**
         * An update strategy where the <code>AutoBinding</code> tries to keep both the
         * source and target in sync with each other.
         */
        public static const READ_WRITE:UpdateStrategy = new UpdateStrategy("readWrite");

        private var _type:String;

        public function UpdateStrategy(type:String):void
        {
            this._type = type;
        }

        public function getType():String
        {
            return _type;
        }



    }
}
